import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ReverseInteger {
    /*
    给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。
    如果反转后整数超过 32 位的有符号整数的范围[−231,  231 − 1]，就返回 0。
    假设环境不允许存储 64 位整数（有符号或无符号）。
    链接：https://leetcode-cn.com/problems/reverse-integer
     */


    public  static int reverse(int x) {


        int flag = 1;
        if(x<0){
            flag = -1;
        }
        List<Integer> arr = new ArrayList<>();
        x = Math.abs(x);
        while (x!=0){
                arr.add(x%10);
                x = x/10;

        }
        int sum =0;
        for(int i =0;i<arr.size();i++){
            int temp = arr.get(i);
            for (int j=0;j<arr.size()-i-1;j++){
                temp = temp*10;
            }
            sum += temp;
        }
        int result = sum*flag;

        for(int i=0;i<arr.size();i++){
            if (arr.get(arr.size()-i-1) != sum%10){
                return  0;
            }
            sum = sum/10;

        }



       return  result;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
        System.out.printf("输入的整数是%d",x);
        System.out.printf("反转之后的整数是%d",reverse(x));

    }

}
